home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2004 June
/
PCWorld_2004-06_cd.bin
/
software
/
vyzkuste
/
koolmoves
/
kmsetup.exe
/
{app}
/
Motion Scripts
/
Flames
/
effect2.txt
Wrap
Text File
|
2004-03-19
|
2KB
|
90 lines
// main_init function
main_init = function(mc){
box = function ( mc, tl_x, tl_y, br_x, br_y ){
mc.lineStyle();
mc.beginFill(0);
mc.moveTo (tl_x,tl_y);
mc.lineTo (br_x,tl_y);
mc.lineTo (br_x,br_y);
mc.lineTo (tl_x,br_y);
mc.endFill();
}
flame = function ( mc, tl_x, tl_y, br_x, br_y ){
var mx = ( tl_x + br_x ) / 2; // horizontal midpoint
var my = ( tl_y + br_y ) / 2; // vertical midpoint
var cx = (br_x - tl_x) * .022; // correction horizontal
var cy = (br_y - tl_y) * .022; // correction vertical
mc.lineStyle();
var colors = [ 0xFF9F00, 0xFFCF00, 0xFFFF9F, 0xFFCF60 ];
var alphas = [ 100, 100, 100, 0 ];
var ratios = [ 0, 0x20, 0x66, 0xFF ];
var matrix = { matrixType:"box", r:0 };
matrix.x = tl_x;
matrix.y = tl_y;
matrix.w = (br_x-tl_x)*.9;
matrix.h = (br_y-tl_y)*1.5;
mc.beginGradientFill( "radial", colors, alphas, ratios, matrix );
mc.moveTo ( mx, tl_y );
mc.curveTo ( br_x-cx, tl_y+cy, br_x, my );
mc.curveTo ( br_x-cx, br_y-cy, mx, br_y );
mc.curveTo ( tl_x+cx, br_y-cy, tl_x, my );
mc.curveTo ( tl_x+cx, tl_y+cy, mx, tl_y );
mc.endFill();
}
createEmptyMovieClip("fire",6);
}
// main_effect function
main_effect = function(mc,frame){
if (subs_done) {
fire.removeMovieClip();
end_effect = true;
}
}
// sub_init function
sub_init = function(mc){
w = (mc._width - $padding);
h = (mc._height - $padding);
b = mc.getBounds(mc);
mc._parent.createEmptyMovieClip("m"+mc._i,mc._i*10+6);
msk = mc._parent["m"+mc._i];
mc.setMask(msk);
box (msk,b.xMin,b.yMin,b.xMax,b.yMax);
msk._x = mc._x;
msk._y = mc._y + (out_effect ? 0 : mc._height);
fire.createEmptyMovieClip("f"+mc._i,mc._i);
f = fire["f"+mc._i];
flame(f,-w,-h*(high_flames ? 4 : 2),w,0);
f.__x = mc._x;
f.__y = mc._y+h/2;
f._yscale = 0;
}
// sub_effect function
sub_effect = function(mc,frame){
perc = frame / lastsubframe;
msk = mc._parent["m"+mc._i];
msk._y = mc._y + mc._height * (out_effect ? perc : 1-perc);
f = fire["f"+mc._i];
if (!calm_fire || frame % 2){
f._x = f.__x + Math.random() * 2;
f._y = f.__y + Math.random() * 2;
f._xscale = (95 + Math.random() * 10)* Math.min(1,perc * 8);
f._yscale = 85 + Math.random() * 30;
f._rotation = Math.random() * 5 - 2.5;
}
f._alpha = (80 + Math.random() * 10)* Math.min(1,(1-perc) * 8);;
if (frame == lastsubframe){
if (out_effect) mc._alpha = 0;
msk.removeMovieClip();
mc.done=true;
}
}